package com.itheima.health.service;

import com.itheima.health.entity.PageResult;
import com.itheima.health.entity.QueryPageBean;
import com.itheima.health.pojo.Role;

import java.util.List;

/**
 * @Author hutianyi
 * @Date 2020/2/25 11:35
 * @Version v1.0
 * @Description
 */
public interface RoleService {


    /**
     * 分页查询
     * @param queryPageBean 前端页面发过来的数据( 当前页码, 每页条数, 查询条件)
     * @return 结果( 总记录数, 当前页要显示的10条检查组数据  )
     */
    public PageResult pageQuery(QueryPageBean queryPageBean);

    /**
     * 查询所有角色
     * @return
     */
    List<Role> findAll();

    /**
     * 添加角色
     * @param role
     * @param permissionIds
     * @param menuIds
     */
    void add(Role role, Integer[] permissionIds, Integer[] menuIds);

    /**
     * 通过角色id查找角色
     * @param id
     * @return
     */
    Role findById(Integer id);

    /**
     * 通过角色id查找权限
     * @param id
     * @return
     */
    List<Integer> findPermissionIdsByRoleId(Integer id);

    /**
     * 通过角色id查找菜单
     * @param id
     * @return
     */
    List<Integer> findMenuIdsByRoleId(Integer id);

    /**
     * 编辑角色
     * @param role
     * @param permissionIds
     * @param menuIds
     */
    void edit(Role role, Integer[] permissionIds, Integer[] menuIds);

    /**
     * 通过角色id删除角色
     * @param id
     */
    void deleteById(Integer id);
}
